package produtos.DaoDB;

import java.io.IOException;
import java.sql.SQLException;
import java.util.Collection;

import produtos.exceptions.ProdutoInexistenteException;
import produtos.exceptions.ProdutoInvalidoException;
import produtos.produtos.Categoria;
import produtos.produtos.Fornecedor;
import produtos.produtos.Produto;



public class ControllerProduto {

	private Produto cadProduto = new Produto();
	private Categoria cadCategoria = new Categoria();
	private Fornecedor cadFornecedor = new Fornecedor();
	
	
	public void cadastrarProduto(String codigo, String descricao, int qtdProduto, float preco, String categoria, String sabor, String fornecedor, String tamanho) throws ProdutoInvalidoException, ClassNotFoundException, SQLException{
		
		cadProduto.setCodigo(codigo);
		cadProduto.setNomeProduto(descricao);
		cadProduto.setQuantidade(qtdProduto);
		cadProduto.setPreco(preco);
		cadProduto.setSabor(sabor);
		cadProduto.setTamanho(tamanho);

		cadCategoria.setNomeCategoria(categoria);
		cadProduto.setCategoria(cadCategoria);
		
		cadFornecedor.setNomeFornecedor(fornecedor);
		cadProduto.setFornecedor(cadFornecedor);
		
		cadProduto.salvar();
	}	

	public Collection<Produto> pesquisaProduto(String descricao) throws ProdutoInexistenteException, IOException, ClassNotFoundException, SQLException, ProdutoInvalidoException{		
		return cadProduto.localizarProduto(descricao);
	}

	public Collection <Produto> listarProdutos() throws ClassNotFoundException, SQLException{		
		return cadProduto.listarProduto();						
	}
	
	public void ExcluirProduto(String descricao) throws ClassNotFoundException, ProdutoInexistenteException, SQLException, ProdutoInvalidoException {
			cadProduto.excluirProduto(descricao);
		}
	
	public void AlterarProduto(String descricao, String novaDescricao, float preco, int quantidade) throws ClassNotFoundException, SQLException, ProdutoInvalidoException{
			cadProduto.alterarProduto(descricao, novaDescricao, preco, quantidade);
	}

	public Collection <Categoria> listarCategorias() throws ClassNotFoundException, SQLException{		
		return cadCategoria.listarCategorias();						
	}

}



